UMB_EMS4.DOC Version 5.22 02/20/92 Page 1 UMB_EMS4.SYS Device Driver EMS simulator for DOS 5.0 on 286 / 386 / 486 systems Copyright (C) 1991, 1992 All Rights Reserved Christopher Blum CompuServe: 76625,1041 1022 East Wayne Avenue INTERNET: 76625.1041@compuserve.com Wooster, Ohio 44691 BIX: cblum (216)262-3786 IMPORTANT INFORMATION - DISTRIBUTION AND LICENSING UMB_EMS4.SYS carries no warranties expressed or implied. It is solely up to the user to determine its suitability for use on his/her machine. This program is distributed as a self-extracting file containing the device driver and its associated documentation as a part of the UMB_DRVR.SYS package. Copying and redistribution is encouraged, but must be the original, unmodified file containing this documentation, and the transfer must not carry any fee or charge specific to this program: i.e. general BBS access or line charges are OK, but no 'download fee' or similar charge. This means that BBS operators may post this file for download, but may not charge a specific fee for it, and 'Distribution houses' may charge a disk-duplication fee, but not a specific charge for the program. UMB_EMS4.SYS is made available on a 'try before you buy' basis. It is not crippled in any way, and has no 'advertising'. The latest version will be available on CompuServe in the IBM forum ( 'GO IBMSYS', lib 1 ). Personal use license ( U.S. funds ) is $25 which should be mailed to the above address if the program is used after a reasonable trial period ( 30 days ). Please use the registration form at the end of the UMB_DRVR.DOC document. Users who register receive the latest version of the program, and may at any time send a self-addressed *and postpaid* diskette mailer and a diskette to receive further updated versions. Corporate users must contact me for corporate rate or site license arrangements. TECHNICAL SUPPORT Technical support, including pre-registration questions or install assistance, is available at your expense at the above telephone number. Please be aware that I am in the Eastern US time zone ( GMT-4 or GMT-5 depending on season ) and try to call at a reasonable hour: i.e. 9 AM to Noon, 1 PM to 5PM, or 7 PM to 10 PM. Saturday is OK, but *PLEASE* avoid Sundays. I can also be contacted via Email on CompuServe, BIX and INTERNET ( IDs above ) - I monitor my mail almost every day. It is not necessarily a good idea to leave me messages on CompuServe in the forum sections unless your question or discussion is of general interest. The Postal Service may also be used ( address above ). UMB_EMS4.DOC Version 5.22 02/20/92 Page 2 INTRODUCTION UMB_EMS4.SYS is a device driver providing EMS simulation from XMS ( HIMEM.SYS ) extended memory. It is a software implementation of the LIM 4.0 standard, implementing all features of the specification except page aliasing, which requires actual hardware support. All XMS extended memory is considered to be available also as EMS. The XMS memory is dynamically configured to EMS and back as programs open and close EMS handles. You should see, when you do a MEM display, that the EMS available and XMS available track with each other. The driver must be installed *AFTER* UMB_DRVR.SYS and HIMEM.SYS have been installed, preferrably using the DEVICEHIGH command to load into upper memory. It requires about 72K of memory to initialize, and takes no parameters. REQUIREMENTS AND RESTRICTIONS UMB_EMS4 has been run on 286, 386 and 486 systems with excellent results. It will run on any system supported by UMB_DRVR.SYS, DOS 5.0 and the HIMEM.SYS XMS server. Do *NOT* use simulated EMS provided by UMB_EMS4 for disk cache programs such as PC-Quick, HyperDisk, SMARTDRV.SYS, etc. They will work better with extended memory than simulated EMS ( see also following ). The driver is Windows-386-enhanced-mode-aware, but you need to start Windows in enhanced mode using 'WIN /3' ( UMB_EMS4 will back itself out at Win init and reinstall at Win exit, but you must force enhanced mode ) if you want it. The driver will not allow Windows to start in enhanced mode if any simulated EMS users are active. This is to allow Windows full use of extended memory, and further explains why you can't have any cache programs use EMS if they need to run while Windows is active. This can also affect shell programs or COMMAND.COM replacement programs such as 4DOS. If you have a choice, select to use extended memory for any such applications. I *STRONGLY* suggest that you set your XMS handle count to 64 by using /NUMHANDLES=64 for HIMEM.SYS, because the driver uses XMS handles and the EMS 4.0 specification says you should have a minimum of 64. It will work with the HIMEM.SYS default of 32, but there is some chance that programs which normally would run might not in that environment. UMB_EMS4.DOC Version 5.22 02/20/92 Page 3 MISCELLANEOUS NOTES If you're interested, here are some benchmark figures, run on a 16Mhz 386sx with Chips & Technologies NEATsx chip set with 4MB memory. The hardware figures below reflect the NEATsx EMS facilities using Chips and Technologies NEAT EMS driver version 2.0 and 2MB EMS. *** PC Magazine Labs Benchmark 6.0 Hardware UMB_EMS4 -------- -------- EMS read 527.83 12.80 ( KB/sec ) EMS write 527.83 12.80 *** MOVETEST ( PC Labs EMS Move test, 256KB move timing in seconds ) - 64 byte records - -- 128KB records -- Hardware UMB_EMS4 Hardware UMB_EMS4 -------- -------- -------- -------- EMS => Conventional 1.81 1.42 .05 .05 Conventional => Conventional .71 .65 .05 .05 Conventional => EMS 1.86 1.42 .05 .05 EMS => EMS 1.86 1.64 .05 .05 *** Disk defragmentation program ( 100MB drive, 80MB data. Program run two times, organizing data in two different orders. Identical initial data for all runs. Program used 2 MB of EMS or Extended memory for buffers ) Run #1 Run #2 Average ( times in min:sec ) ------ ------ ------- EMS ( Hardware ) 7:03 7:15 7:09 EMS ( EMM386 ) 7:15 7:32 7:24 Extended ( XMS ) 8:53 9:14 9:04 EMS ( UMB_EMS4 ) 11:50 11:05 11:28 Don't let these figures scare you... most programs tested run very well with UMB_EMS4 and show little performance difference. The above figures are 'worst case' and do not reflect the average program. Many programs such as Quattro Pro 3.0, Lotus, DBase, Paradox, a selection of games, several TSRs including a print spooler, and various others have been tested with no problems. UMB_EMS4.DOC Version 5.22 02/20/92 Page 4 INSTALLATION *PLEASE BE SURE YOU HAVE REVIEWED THIS DOCUMENTATION* prior to installing. Also, make sure you have backed-up your system and that you have a diskette you can boot from in case you have problems with your CONFIG.SYS settings. Installation is via the lines: DEVICE=UMB_DRVR.SYS ... DOS=HIGH,UMB DEVICEHIGH=HIMEM.SYS /NUMHANDLES=64 DEVICEHIGH=UMB_EMS4.SYS The driver will print a status report at initialization, and self- explanatory error messages if installation fails. If you do not have enough upper memory to load UMB_EMS4 high, you may use DEVICE= to load into conventional memory, but it is much better to load it high if possible. Rearranging your CONFIG.SYS to do so is highly suggested. Again, as with any new software, *MAKE SURE YOUR SYSTEM IS BACKED UP* and verify the operation of your programs. It is impossible for me to test all configurations and programs. If you have problems, let me know and I will try to straighten them out. KNOWN INCOMPATIBILITIES Word Perfect version 5.1 crashes if you use its default EMS 4.0 support. This can be avoided by either using the execute command: WP /32 when running it, or the command: SET WPC=/32 in the AUTOEXEC.BAT file at bootup. Either of these actions tells Word Perfect to use LIM 3.2 calls only. I am in contact with Word Perfect Corporation and am working on the problem. REVISION HISTORY 5.22 [02/20/92] - Initial release version. ***** END OF DOCUMENTATION *****